package com.jiliason.segmentation.constant;

import com.google.common.collect.Lists;
import com.jiliason.segmentation.constant.enums.Addr;

import java.util.List;

import static com.jiliason.segmentation.constant.enums.TextureTag.*;

public class Ct {

    // 地址主字段list
    public static final List<String> addrMainFields = Lists.newArrayList(
            Addr.PROV_NAME.v(),
            Addr.CITY_NAME.v(),
            Addr.DIST_NAME.v(),
            Addr.TOWN_NAME.v(),
            Addr.ROAD.v(),
            Addr.POI_STR.v(),
            // Addr.RP_DETAIL.v(),
            Addr.OTHER.v()
    );

    public static final String desc = "中段|北段|南段|西段|东段|东|南|西|北|交叉口|与|向前|左转|以北|以西";

    /**
     * 地址碎片纹理引擎模块使用
     */
    public static final List<String> loneRules = Lists.newArrayList(
            Name_S.v() + "_" + Types_Poi_S.v() + "_" + Types.v() + ".+",
            Name_S.v() + "_" + Types_Road_S.v() + "_" + Types.v() + ".+",
            Name_S.v() + "_" + Types_Detail_S.v() + "_" + Types.v() + ".+",
            Name_S.v() + "_" + Types_S.v() + "_" + Types.v() + ".+",

            Name.v() + ".+" + "_" + Letter_S.v() + "_" + Name.v() + ".+",
            Name.v() + ".+" + "_" + Digit_ALB_S.v() + "_" + Name.v() + ".+",
            Name.v() + ".+" + "_" + Digit_CNJ_S.v() + "_" + Name.v() + ".+",
            Name.v() + ".+" + "_" + DNXB.v() + "_" + Name.v() + ".+",
            Ey.v() + "_" + Letter_S.v() + "_" + Name.v() + ".+",
            Ey.v() + "_" + Digit_ALB_S.v() + "_" + Name.v() + ".+",
            Ey.v() + "_" + Digit_CNJ_S.v() + "_" + Name.v() + ".+",
            Ey.v() + "_" + DNXB.v() + "_" + Name.v() + ".+",
            Name.v() + ".+" + "_" + Letter_S.v() + "_" + Ey.v(),
            Name.v() + ".+" + "_" + Digit_ALB_S.v() + "_" + Ey.v(),
            Name.v() + ".+" + "_" + Digit_CNJ_S.v() + "_" + Ey.v(),
            Name.v() + ".+" + "_" + DNXB.v() + "_" + Ey.v(),
            Types.v() + ".+" + "_" + Letter_S.v() + "_" + Name.v() + ".+",
            Types.v() + ".+" + "_" + Digit_ALB_S.v() + "_" + Name.v() + ".+",
            Types.v() + ".+" + "_" + Digit_CNJ_S.v() + "_" + Name.v() + ".+",
            Types.v() + ".+" + "_" + DNXB.v() + "_" + Name.v() + ".+",

            // ,.v() + "_" + .v() + "_" + .v()
            Types_Poi_M.v() + "_" + Types_Poi_S.v() + "_" + DNXB.v(),
            Types_Poi_S.v() + "_" + DNXB.v() + "_" + Digit_CNJ_S.v(),
            DNXB.v() + "_" + Digit_CNJ_S.v() + "_" + Types_Road_S.v(),
            Other.v() + "_" + Types_Poi_S.v() + "_" + DNXB.v(),
            Name_M.v() + "_" + DNXB.v() + "_" + Types_Road_S.v(),
            Name_M.v() + "_" + Digit_CNJ_S.v() + "_" + Types_Road_S.v(),
            Types_Poi_M.v() + "_" + DNXB.v() + "_" + Digit_CNJ_S.v(),
            DNXB.v() + "_" + Digit_CNJ_S.v() + "_" + Name_M.v()
            ,Ey.v() + "_" + Types_S.v() + "_" + Name_S.v()
            ,Types_S.v() + "_" + Types_S.v() + "_" + Name_S.v()
    );

    public static final List<String> pairingRules = Lists.newArrayList(
            Name_S.v() + "_" + Types_Poi_M.v() + "_" + Types.v() + ".+",
            Name_S.v() + "_" + Types_Road_M.v() + "_" + Types.v() + ".+",
            Name_S.v() + "_" + Types_Detail_M.v() + "_" + Types.v() + ".+",
            Name_S.v() + "_" + Types_M.v() + "_" + Types.v() + ".+",

            Name.v() + ".+" + "_" + Letter_M.v() + "_" + Name.v() + ".+",
            Name.v() + ".+" + "_" + Digit_ALB_M.v() + "_" + Name.v() + ".+",
            Name.v() + ".+" + "_" + Digit_CNJ_M.v() + "_" + Name.v() + ".+",
            Ey.v() + "_" + Letter_M.v() + "_" + Name.v() + ".+",
            Ey.v() + "_" + Digit_ALB_M.v() + "_" + Name.v() + ".+",
            Ey.v() + "_" + Digit_CNJ_M.v() + "_" + Name.v() + ".+",
            Name.v() + ".+" + "_" + Letter_M.v() + "_" + Ey.v(),
            Name.v() + ".+" + "_" + Digit_ALB_M.v() + "_" + Ey.v(),
            Name.v() + ".+" + "_" + Digit_CNJ_M.v() + "_" + Ey.v(),
            Types.v() + ".+" + "_" + Letter_M.v() + "_" + Name.v() + ".+",
            Types.v() + ".+" + "_" + Digit_ALB_M.v() + "_" + Name.v() + ".+",
            Types.v() + ".+" + "_" + Digit_CNJ_M.v() + "_" + Name.v() + ".+"
    );

    /**
     * splitterStrategy模块使用
     */
    public static final String AddrDict = "AddrDict";
    public static final String AddrParsing = "AddrParsing";
}
